package com.mogu.comment.constraint;

import com.mogu.comment.annotion.IdValid;
import com.mogu.comment.utils.Constants;
import com.mogu.comment.utils.StringUtils;

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;

/**
 * Description:不在能知，而在能行
 *  这里有些冗余了，其实面对控制器的VO对象，应该全为String类型。
 *  作为后端程序员，不应该相信前端传递的任何参数，所以字符串类型也应该被识别。
 *
 * @author: 梁西华
 * @date: 2020/6/11/10:53
 **/

public class IdValidator implements ConstraintValidator<IdValid,String> {
    @Override
    public void initialize(IdValid constraintAnnotation) {

    }

    @Override
    public boolean isValid(String value, ConstraintValidatorContext context) {
        //public static final int THIRTY_TWO = 32;
        //trim()的作用是去掉bai字符串两端的多du余的空格，注意，是两端的空格，且无论zhi两端的空格有多少个dao都会去掉，当然
        //中间的那些空格不会被去掉
        if (value == null || StringUtils.isBlank(value) || StringUtils.isNotEmpty(value.trim()) || value.length() != Constants.THIRTY_TWO){
            return false;
        }

        return true;
    }
}
